package org.algorithm.熊猫.数组.二月;

import java.util.Arrays;

/**
 * <br>
 * 给定一个非负整数数组nums，nums 中一半整数是 奇数 ，一半整数是 偶数 。
 * <p>
 * 对数组进行排序，以便当nums[i] 为奇数时，i也是 奇数 ；当nums[i]为偶数时， i 也是 偶数 。
 * <p>
 * 你可以返回 任何满足上述条件的数组作为答案
 * </br>
 * <p>
 * url: https://leetcode-cn.com/problems/sort-array-by-parity-ii/
 */
public class 奇偶排序数组 {

    public static void main(String[] args) {
        int[] arr = new int[]{4, 2, 5, 7};
        System.out.println(Arrays.toString(sortArrayByParityII(arr)));
    }


    public static int[] sortArrayByParityII(int[] nums) {
        int last = 0;
        int fast = 1;
        int n = nums.length;
        while (fast < n && last < n) {
            int num = nums[last];
            int num1 = nums[fast];
            boolean b = num % 2 != 0;
            boolean b1 = num1 % 2 != 1;
            if (b && b1) {
                nums[last] = num1;
                nums[fast] = num;
                last += 2;
                fast += 2;
                continue;
            }
            if (!b) {
                last += 2;
            }
            if (!b1) {
                fast += 2;
            }
        }
        return nums;
    }

}
